Popular Internet transport protocols include the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). The Transmission Control Protocol specifies multiplexing, checksum, and in-order reliable delivery with congestion and flow control. In contrast, UDP is a simpler protocol, which specifies multiplexing and checksum, but not congestion and flow control. Thus, UDP uses fewer processing resources in implementation than does TCP.
Given its relative complexity, protocol offload processing is commonly applied to TCP. Checksum offload for UDP is common, too. For example, many modern network interface cards (NIC's) provide checksum computation and insertion on the transmitting side for UDP, and checksum checking on the receiving side for UDP.